In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
In [6]:
deliveries_data = pd.read_csv(r'/Users/sandeepkumar/Downloads/IPL Ball-by-Ball 2008-2020.csv')
match_data = pd.read_csv(r'/Users/sandeepkumar/Downloads/IPL Matches 2008-2020.csv')
In [7]:
match_data.head()
Out[7]:
id city date player_of_match venue neutral_venue team1 team2 toss_winner toss_decision winner result result_margin eliminator method umpire1 umpire2
0 335982 Bangalore 2008-04-18 BB McCullum M Chinnaswamy Stadium 0 Royal Challengers Bangalore Kolkata Knight Riders Royal Challengers Bangalore field Kolkata Knight Riders runs 140.0 N NaN Asad Rauf RE Koertzen
1 335983 Chandigarh 2008-04-19 MEK Hussey Punjab Cricket Association Stadium, Mohali 0 Kings XI Punjab Chennai Super Kings Chennai Super Kings bat Chennai Super Kings runs 33.0 N NaN MR Benson SL Shastri
2 335984 Delhi 2008-04-19 MF Maharoof Feroz Shah Kotla 0 Delhi Daredevils Rajasthan Royals Rajasthan Royals bat Delhi Daredevils wickets 9.0 N NaN Aleem Dar GA Pratapkumar
3 335985 Mumbai 2008-04-20 MV Boucher Wankhede Stadium 0 Mumbai Indians Royal Challengers Bangalore Mumbai Indians bat Royal Challengers Bangalore wickets 5.0 N NaN SJ Davis DJ Harper
4 335986 Kolkata 2008-04-20 DJ Hussey Eden Gardens 0 Kolkata Knight Riders Deccan Chargers Deccan Chargers bat Kolkata Knight Riders wickets 5.0 N NaN BF Bowden K Hariharan
In [8]:
match_data.tail()
Out[8]:
id city date player_of_match venue neutral_venue team1 team2 toss_winner toss_decision winner result result_margin eliminator method umpire1 umpire2
811 1216547 Dubai 2020-09-28 AB de Villiers Dubai International Cricket Stadium 0 Royal Challengers Bangalore Mumbai Indians Mumbai Indians field Royal Challengers Bangalore tie NaN Y NaN Nitin Menon PR Reiffel
812 1237177 Dubai 2020-11-05 JJ Bumrah Dubai International Cricket Stadium 0 Mumbai Indians Delhi Capitals Delhi Capitals field Mumbai Indians runs 57.0 N NaN CB Gaffaney Nitin Menon
813 1237178 Abu Dhabi 2020-11-06 KS Williamson Sheikh Zayed Stadium 0 Royal Challengers Bangalore Sunrisers Hyderabad Sunrisers Hyderabad field Sunrisers Hyderabad wickets 6.0 N NaN PR Reiffel S Ravi
814 1237180 Abu Dhabi 2020-11-08 MP Stoinis Sheikh Zayed Stadium 0 Delhi Capitals Sunrisers Hyderabad Delhi Capitals bat Delhi Capitals runs 17.0 N NaN PR Reiffel S Ravi
815 1237181 Dubai 2020-11-10 TA Boult Dubai International Cricket Stadium 0 Delhi Capitals Mumbai Indians Delhi Capitals bat Mumbai Indians wickets 5.0 N NaN CB Gaffaney Nitin Menon
In [10]:
match_data.columns
Out[10]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2'],
      dtype='object')
In [14]:
match_data.shape
Out[14]:
(816, 17)
In [16]:
type(match_data.shape)
Out[16]:
tuple
In [17]:
type(match_data)
Out[17]:
pandas.core.frame.DataFrame
In [19]:
match_data.shape[0]
Out[19]:
816
In [21]:
match_data['city'].unique()
Out[21]:
array(['Bangalore', 'Chandigarh', 'Delhi', 'Mumbai', 'Kolkata', 'Jaipur',
       'Hyderabad', 'Chennai', 'Cape Town', 'Port Elizabeth', 'Durban',
       'Centurion', 'East London', 'Johannesburg', 'Kimberley',
       'Bloemfontein', 'Ahmedabad', 'Cuttack', 'Nagpur', 'Dharamsala',
       'Kochi', 'Indore', 'Visakhapatnam', 'Pune', 'Raipur', 'Ranchi',
       'Abu Dhabi', nan, 'Rajkot', 'Kanpur', 'Bengaluru', 'Dubai',
       'Sharjah'], dtype=object)
In [22]:
match_data['team1'].unique()
Out[22]:
array(['Royal Challengers Bangalore', 'Kings XI Punjab',
       'Delhi Daredevils', 'Mumbai Indians', 'Kolkata Knight Riders',
       'Rajasthan Royals', 'Deccan Chargers', 'Chennai Super Kings',
       'Kochi Tuskers Kerala', 'Pune Warriors', 'Sunrisers Hyderabad',
       'Gujarat Lions', 'Rising Pune Supergiants',
       'Rising Pune Supergiant', 'Delhi Capitals'], dtype=object)
In [26]:
match_data['toss_winner'].value_counts()
Out[26]:
Mumbai Indians                 106
Kolkata Knight Riders           98
Chennai Super Kings             97
Royal Challengers Bangalore     87
Rajasthan Royals                87
Kings XI Punjab                 85
Delhi Daredevils                80
Sunrisers Hyderabad             57
Deccan Chargers                 43
Pune Warriors                   20
Delhi Capitals                  20
Gujarat Lions                   15
Kochi Tuskers Kerala             8
Rising Pune Supergiants          7
Rising Pune Supergiant           6
Name: toss_winner, dtype: int64
In [31]:
match_data['toss_winner'].value_counts().index[0]
Out[31]:
'Mumbai Indians'
In [34]:
match_data['player_of_match'].value_counts().index[0]
Out[34]:
'AB de Villiers'
In [ ]:
 
In [35]:
deliveries_data.head()
Out[35]:
id inning over ball batsman non_striker bowler batsman_runs extra_runs total_runs non_boundary is_wicket dismissal_kind player_dismissed fielder extras_type batting_team bowling_team
0 335982 1 6 5 RT Ponting BB McCullum AA Noffke 1 0 1 0 0 NaN NaN NaN NaN Kolkata Knight Riders Royal Challengers Bangalore
1 335982 1 6 6 BB McCullum RT Ponting AA Noffke 1 0 1 0 0 NaN NaN NaN NaN Kolkata Knight Riders Royal Challengers Bangalore
2 335982 1 7 1 BB McCullum RT Ponting Z Khan 0 0 0 0 0 NaN NaN NaN NaN Kolkata Knight Riders Royal Challengers Bangalore
3 335982 1 7 2 BB McCullum RT Ponting Z Khan 1 0 1 0 0 NaN NaN NaN NaN Kolkata Knight Riders Royal Challengers Bangalore
4 335982 1 7 3 RT Ponting BB McCullum Z Khan 1 0 1 0 0 NaN NaN NaN NaN Kolkata Knight Riders Royal Challengers Bangalore
In [39]:
deliveries_data['batsman'].unique()
Out[39]:
array(['RT Ponting', 'BB McCullum', 'DJ Hussey', 'Mohammad Hafeez',
       'SC Ganguly', 'CL White', 'MV Boucher', 'B Akhil', 'AA Noffke',
       'P Kumar', 'Z Khan', 'SB Joshi', 'W Jaffer', 'JH Kallis',
       'R Dravid', 'V Kohli', 'K Goel', 'MEK Hussey', 'JR Hopes',
       'SK Raina', 'JDP Oram', 'S Badrinath', 'PA Patel', 'ML Hayden',
       'MS Dhoni', 'KC Sangakkara', 'Yuvraj Singh', 'SM Katich',
       'IK Pathan', 'T Kohli', 'YK Pathan', 'S Dhawan', 'G Gambhir',
       'SK Warne', 'D Salunkhe', 'SK Trivedi', 'V Sehwag', 'SR Watson',
       'M Kaif', 'DS Lehmann', 'RA Jadeja', 'M Rawat', 'L Ronchi',
       'ST Jayasuriya', 'DJ Thornely', 'RV Uthappa', 'PR Shah',
       'AM Nayar', 'SM Pollock', 'Harbhajan Singh', 'S Chanderpaul',
       'LRPL Taylor', 'WP Saha', 'AS Yadav', 'A Symonds', 'SB Bangar',
       'WPUJC Vaas', 'RP Singh', 'AC Gilchrist', 'Y Venugopal Rao',
       'VVS Laxman', 'RG Sharma', 'SB Styris', 'LR Shukla', 'PP Chawla',
       'Kamran Akmal', 'DPMD Jayawardene', 'S Sohal', 'B Lee', 'WA Mota',
       'Shahid Afridi', 'DJ Bravo', 'A Nehra', 'MA Khote', 'GC Smith',
       'Pankaj Singh', 'S Sreesanth', 'VRV Singh', 'SS Tiwary',
       'RR Sarwan', 'DS Kulkarni', 'R Vinay Kumar', 'M Kartik',
       'I Sharma', 'AB Agarkar', 'AM Rahane', 'TM Srivastava',
       'Shoaib Malik', 'MK Tiwary', 'KD Karthik', 'R Bhatia',
       'MF Maharoof', 'VY Mahesh', 'B Chipli', 'DW Steyn', 'DB Das',
       'MK Pandey', 'HH Gibbs', 'DNT Zoysa', 'D Kalyankrishna',
       'SE Marsh', 'SA Asnodkar', 'BJ Hodge', 'Sohail Tanvir',
       'Salman Butt', 'Umar Gul', 'AB Dinda', 'AB de Villiers',
       'SP Fleming', 'S Vidyut', 'JA Morkel', 'LPC Silva', 'DB Ravi Teja',
       'Misbah-ul-Haq', 'PJ Sangwan', 'YV Takawale', 'RR Raje',
       'Mohammad Asif', 'GD McGrath', 'Joginder Sharma', 'MS Gony',
       'M Muralitharan', 'M Ntini', 'DT Patil', 'A Kumble', 'S Anirudha',
       'MM Patel', 'CK Kapugedera', 'A Chopra', 'T Taibu', 'J Arunkumar',
       'PP Ojha', 'SP Goswami', 'SR Tendulkar', 'U Kaul', 'Niraj Patel',
       'AD Mascarenhas', 'TM Dilshan', 'A Mishra', 'LA Pomersbach',
       'Iqbal Abdulla', 'Younis Khan', 'PM Sarvesh Kumar',
       'DP Vijaykumar', 'Shoaib Akhtar', 'Abdur Razzak', 'H Das',
       'DR Smith', 'SD Chitnis', 'CRD Fernando', 'VS Yeligati',
       'L Balaji', 'A Mukund', 'RR Powar', 'JP Duminy', 'A Flintoff',
       'T Thushara', 'KP Pietersen', 'JD Ryder', 'T Henderson',
       'Kamran Khan', 'RS Bopara', 'MC Henriques', 'CH Gayle',
       'R Bishnoi', 'KV Sharma', 'FH Edwards', 'AS Raut', 'PC Valthaty',
       'RJ Quiney', 'Yashpal Singh', 'M Manhas', 'AA Bilakhia',
       'AN Ghosh', 'BAW Mendis', 'DL Vettori', 'MN van Wyk',
       'RE van der Merwe', 'TL Suman', 'Shoaib Ahmed', 'GR Napier',
       'KP Appanna', 'LA Carseldine', 'NV Ojha', 'SM Harwood', 'M Vijay',
       'DA Warner', 'SB Jakati', 'RJ Harris', 'D du Preez', 'M Morkel',
       'AD Mathews', 'SL Malinga', 'C Nanda', 'J Botha',
       'Mashrafe Mortaza', 'A Singh', 'GJ Bailey', 'AB McDonald',
       'Y Nagar', 'SS Shaikh', 'R Ashwin', 'Mohammad Ashraful',
       'Jaskaran Singh', 'Anirudh Singh', 'CA Pujara', 'OA Shah',
       'AP Tare', 'AT Rayudu', 'R Sathish', 'R McLaren',
       'AA Jhunjhunwala', 'P Dogra', 'A Uniyal', 'MS Bisla', 'YA Abdulla',
       'EJG Morgan', 'JM Kemp', 'S Tyagi', 'RS Gavaskar', 'SE Bond',
       'S Ladda', 'DP Nannes', 'KA Pollard', 'DR Martyn', 'S Narwal',
       'MJ Lumb', 'Bipul Sharma', 'AB Barath', 'FY Fazal', 'AC Voges',
       'MD Mishra', 'UT Yadav', 'J Theron', 'SJ Srivastava', 'R Sharma',
       'Mandeep Singh', 'KM Jadhav', 'SW Tait', 'KB Arun Karthik',
       'KAJ Roach', 'PD Collingwood', 'CK Langeveldt', 'VS Malik',
       'A Mithun', 'AP Dole', 'AN Ahmed', 'RS Sodhi', 'DE Bollinger',
       'S Sriram', 'B Sumanth', 'C Madan', 'AG Paunikar', 'MR Marsh',
       'AJ Finch', 'STR Binny', 'Harmeet Singh', 'IR Jaggi',
       'DT Christian', 'MA Agarwal', 'RV Gomez', 'AUK Pathan',
       'UBT Chand', 'DJ Jacobs', 'NJ Rimmington', 'Sunny Singh',
       'AL Menaria', 'WD Parnell', 'JJ van der Wath', 'R Ninan',
       'S Aravind', 'MS Wade', 'TD Paine', 'JEC Franklin', 'SB Wagh',
       'AC Thomas', 'Shakib Al Hasan', 'DH Yagnik', 'S Randiv',
       'BJ Haddin', 'NLTC Perera', 'NL McCullum', 'JE Taylor',
       'J Syed Mohammad', 'RN ten Doeschate', 'TR Birt', 'AG Murtaza',
       'Harpreet Singh', 'M Klinger', 'AC Blizzard', 'I Malhotra',
       'L Ablish', 'CA Ingram', 'S Nadeem', 'P Parameswaran',
       'CJ Ferguson', 'VR Aaron', 'AA Chavan', 'ND Doshi', 'B Kumar',
       'Y Gnaneswara Rao', 'S Rana', 'BA Bhatt', 'F du Plessis',
       'RE Levi', 'GJ Maxwell', 'SPD Smith', 'SA Yadav', 'MN Samuels',
       'KK Cooper', 'JP Faulkner', 'HV Patel', 'DAJ Bracewell',
       'DJ Harris', 'Ankit Sharma', 'SP Narine', 'GB Hogg', 'RR Bhatkal',
       'CJ McKay', 'N Saini', 'DA Miller', 'Azhar Mahmood', 'P Negi',
       'RJ Peterson', 'KMDN Kulasekara', 'A Ashish Reddy',
       'V Pratap Singh', 'BB Samantray', 'MJ Clarke', 'Gurkeerat Singh',
       'AP Majumdar', 'PA Reddy', 'K Upadhyay', 'P Awana', 'AD Russell',
       'A Chandila', 'CA Lynn', 'Sunny Gupta', 'MC Juneja', 'KK Nair',
       'GH Vihari', 'R Shukla', 'MDKJ Perera', 'AS Rajpoot', 'B Laughlin',
       'M Vohra', 'JD Unadkat', 'Mohammed Shami', 'BMAJ Mendis',
       'R Rampaul', 'CH Morris', 'SV Samson', 'SMSM Senanayake',
       'BJ Rohrer', 'KL Rahul', 'Q de Kock', 'R Dhawan', 'MG Johnson',
       'LJ Wright', 'IC Pandey', 'CM Gautam', 'X Thalaivan Sargunam',
       'DJG Sammy', 'KW Richardson', 'MM Sharma', 'UA Birla',
       'Parvez Rasool', 'Sandeep Sharma', 'S Kaul', 'Sachin Baby',
       'PV Tambe', 'NM Coulter-Nile', 'CJ Anderson', 'NJ Maddinson',
       'AR Patel', 'JJ Bumrah', 'JDS Neesham', 'TG Southee', 'MA Starc',
       'BR Dunk', 'RR Rossouw', 'Shivam Sharma', 'YS Chahal',
       'LMP Simmons', 'VH Zol', 'Imran Tahir', 'BCJ Cutting',
       'BE Hendricks', 'S Gopal', 'M de Lange', 'R Tewatia', 'JO Holder',
       'Karanveer Singh', 'SS Iyer', 'DJ Hooda', 'Anureet Singh',
       'KS Williamson', 'SA Abbott', 'J Suchith', 'RG More', 'D Wiese',
       'HH Pandya', 'SN Khan', 'MJ McClenaghan', 'DJ Muthuswami',
       'PJ Cummins', 'SN Thakur', 'JC Buttler', 'CR Brathwaite',
       'MP Stoinis', 'Ishan Kishan', 'C Munro', 'P Sahu', 'KH Pandya',
       'AD Nath', 'MJ Guptill', 'KJ Abbott', 'TM Head', 'M Ashwin',
       'NS Naik', 'RR Pant', 'SW Billings', 'KC Cariappa',
       'PSP Handscomb', 'Swapnil Singh', 'J Yadav', 'UT Khawaja',
       'HM Amla', 'F Behardien', 'A Zampa', 'BB Sran', 'N Rana',
       'S Kaushik', 'ER Dwivedi', 'CJ Jordan', 'A Choudhary', 'TS Mills',
       'BA Stokes', 'JJ Roy', 'Vishnu Vinod', 'Basil Thampi', 'CR Woakes',
       'RA Tripathi', 'DL Chahar', 'V Shankar', 'Rashid Khan',
       'LH Ferguson', 'RD Chahar', 'C de Grandhomme', 'AF Milne',
       'S Badree', 'Mohammad Nabi', 'AJ Tye', 'K Rabada', 'Kuldeep Yadav',
       'Washington Sundar', 'DM Bravo', 'AR Bawne', 'SP Jackson',
       'Ankit Soni', 'TA Boult', 'E Lewis', 'MA Wood', 'RK Singh',
       'DJM Short', 'K Gowtham', 'TK Curran', 'M Markande', 'B Stanlake',
       'Mujeeb Ur Rahman', 'A Dananjaya', 'Shivam Mavi', 'Shubman Gill',
       'Mohammed Siraj', 'H Klaasen', 'RK Bhui', 'JC Archer', 'PP Shaw',
       'LE Plunkett', 'Mustafizur Rahman', 'AD Hales', 'MK Lomror',
       'DR Shorey', 'MM Ali', 'M Prasidh Krishna', 'P Chopra',
       'JPR Scantlebury-Searles', 'Abhishek Sharma', 'IS Sodhi',
       'SO Hetmyer', 'S Dube', 'NA Saini', 'JM Bairstow', 'Rasikh Salam',
       'KMA Paul', 'N Pooran', 'P Ray Barman', 'S Lamichhane',
       'SM Curran', 'GC Viljoen', 'Avesh Khan', 'HF Gurney', 'SD Lad',
       'AS Joseph', 'MJ Santner', 'R Parag', 'JL Denly', 'LS Livingstone',
       'KK Ahmed', 'AJ Turner', 'SE Rutherford', 'Harpreet Brar',
       'Y Prithvi Raj', 'P Simran Singh', 'JL Pattinson', 'A Nortje',
       'T Banton', 'D Padikkal', 'YBK Jaiswal', 'RD Gaikwad',
       'TU Deshpande', 'Abdul Samad', 'PK Garg', 'JR Philippe',
       'Kartik Tyagi', 'CV Varun', 'KL Nagarkoti', 'I Udana',
       'Ravi Bishnoi', 'Shahbaz Ahmed', 'AT Carey', 'N Jagadeesan',
       'T Natarajan', 'P Dubey', 'SS Cottrell', 'Arshdeep Singh',
       'DR Sams'], dtype=object)
In [43]:
filt = deliveries_data['batsman']=='V Kohli'
In [46]:
df_kohli = deliveries_data[filt]
In [48]:
df_kohli.columns
Out[48]:
Index(['id', 'inning', 'over', 'ball', 'batsman', 'non_striker', 'bowler',
       'batsman_runs', 'extra_runs', 'total_runs', 'non_boundary', 'is_wicket',
       'dismissal_kind', 'player_dismissed', 'fielder', 'extras_type',
       'batting_team', 'bowling_team'],
      dtype='object')
In [49]:
df_kohli.head()
Out[49]:
id inning over ball batsman non_striker bowler batsman_runs extra_runs total_runs non_boundary is_wicket dismissal_kind player_dismissed fielder extras_type batting_team bowling_team
211 335982 2 1 2 V Kohli W Jaffer I Sharma 0 0 0 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kolkata Knight Riders
212 335982 2 1 3 V Kohli W Jaffer I Sharma 0 4 4 0 0 NaN NaN NaN legbyes Royal Challengers Bangalore Kolkata Knight Riders
213 335982 2 1 4 V Kohli W Jaffer I Sharma 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kolkata Knight Riders
216 335982 2 2 1 V Kohli W Jaffer AB Dinda 0 0 0 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kolkata Knight Riders
217 335982 2 2 2 V Kohli W Jaffer AB Dinda 0 0 0 0 1 bowled V Kohli NaN NaN Royal Challengers Bangalore Kolkata Knight Riders
In [50]:
df_kohli['dismissal_kind'].value_counts()
Out[50]:
caught               105
bowled                30
run out               15
lbw                    7
stumped                3
caught and bowled      3
Name: dismissal_kind, dtype: int64
In [51]:
df_kohli['batsman_runs'].unique()
Out[51]:
array([0, 1, 4, 6, 2, 3])
In [55]:
df_kohli['fielder'].unique()
Out[55]:
array([nan, 'L Ronchi', 'M Rawat', 'DB Ravi Teja', 'S Sreesanth',
       'SE Marsh', 'YV Takawale', 'JA Morkel', 'SB Bangar', 'S Badrinath',
       'HH Gibbs', 'RS Bopara', 'TM Dilshan', 'MN van Wyk', 'PP Chawla',
       'M Morkel', 'JP Duminy', 'JDP Oram', 'AC Gilchrist', 'AD Mathews',
       'KA Pollard', 'PA Patel', 'A Mishra,DP Nannes', 'M Vijay',
       'IK Pathan', 'A Symonds', 'B Sumanth', 'SR Watson',
       'AC Voges,Kamran Khan', 'AP Tare', 'AT Rayudu', 'DJ Jacobs',
       'S Anirudha', 'DA Warner', 'Harpreet Singh', 'MV Boucher',
       'KD Karthik', 'R Ashwin', 'Y Nagar', 'MK Tiwary', 'F du Plessis',
       'R Sharma', 'BJ Hodge', 'DW Steyn', 'SPD Smith', 'MS Gony',
       'EJG Morgan', 'MS Dhoni', 'DPMD Jayawardene', 'AB Dinda',
       'JP Faulkner', 'BJ Rohrer,KM Jadhav', 'Harbhajan Singh',
       'AM Rahane,SV Samson', 'TG Southee', 'NV Ojha', 'CJ Anderson',
       'WP Saha', 'R Bhatia', 'R Shukla,Q de Kock', 'RV Uthappa',
       'DR Smith,MS Dhoni', 'DR Smith', 'SV Samson', 'SA Yadav',
       'DJ Bravo', 'P Negi,MS Dhoni', 'B Kumar', 'MM Sharma', 'SS Iyer',
       'AM Rahane', 'A Ashish Reddy', 'AD Russell', 'DA Miller',
       'JC Buttler', 'MK Pandey', 'AJ Finch', 'MA Agarwal (sub)',
       'RG Sharma', 'SS Iyer,Z Khan', 'S Nadeem', 'DJM Short', 'TA Boult',
       'RA Jadeja', 'YK Pathan', 'RR Pant', 'HH Pandya', 'M Ashwin',
       'Q de Kock', 'Shubman Gill', 'Mandeep Singh', 'SE Rutherford',
       'LS Livingstone', 'SS Tiwary', 'KS Williamson', 'MP Stoinis',
       'Ravi Bishnoi', 'R Tewatia', 'KL Rahul', 'Rashid Khan',
       'SP Goswami'], dtype=object)
In [56]:
filt3 = df_kohli['fielder'] == 'MS Dhoni'
Out[56]:
211       False
212       False
213       False
216       False
217       False
          ...  
192772    False
192773    False
192774    False
192775    False
192892    False
Name: fielder, Length: 4609, dtype: bool
In [63]:
df_kohli['batsman_runs'].unique()
Out[63]:
array([0, 1, 4, 6, 2, 3])
In [62]:
len(df_kohli[df_kohli['batsman_runs'] == 1])
Out[62]:
1919
In [64]:
df_kohli[df_kohli['batsman_runs'] == 1]
Out[64]:
id inning over ball batsman non_striker bowler batsman_runs extra_runs total_runs non_boundary is_wicket dismissal_kind player_dismissed fielder extras_type batting_team bowling_team
213 335982 2 1 4 V Kohli W Jaffer I Sharma 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kolkata Knight Riders
851 335985 2 12 5 V Kohli JH Kallis AM Nayar 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
916 335985 2 10 1 V Kohli JH Kallis Harbhajan Singh 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
919 335985 2 10 4 V Kohli JH Kallis Harbhajan Singh 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
924 335985 2 11 3 V Kohli JH Kallis ST Jayasuriya 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
192329 1216547 1 9 3 V Kohli D Padikkal KH Pandya 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
192335 1216547 1 10 2 V Kohli D Padikkal RD Chahar 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
192342 1216547 1 11 3 V Kohli D Padikkal JJ Bumrah 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
192736 1237178 1 0 2 V Kohli D Padikkal Sandeep Sharma 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Sunrisers Hyderabad
192773 1237178 1 0 6 V Kohli D Padikkal Sandeep Sharma 1 0 1 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Sunrisers Hyderabad

1919 rows × 18 columns

In [65]:
df_kohli[df_kohli['batsman_runs'] == 2]
Out[65]:
id inning over ball batsman non_striker bowler batsman_runs extra_runs total_runs non_boundary is_wicket dismissal_kind player_dismissed fielder extras_type batting_team bowling_team
2493 335992 1 6 4 V Kohli LRPL Taylor SK Trivedi 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Rajasthan Royals
3467 335996 2 15 4 V Kohli MV Boucher P Amarnath 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
5780 336006 1 2 3 V Kohli JH Kallis S Sreesanth 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kings XI Punjab
8004 336016 1 0 4 V Kohli J Arunkumar S Sreesanth 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Kings XI Punjab
11933 336034 1 7 6 V Kohli W Jaffer PP Ojha 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Deccan Chargers
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
191547 1216544 1 17 6 V Kohli MM Ali DL Chahar 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
191615 1216544 1 9 3 V Kohli AB de Villiers Imran Tahir 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
191635 1216544 1 12 5 V Kohli AB de Villiers RA Jadeja 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
192774 1237178 1 1 1 V Kohli D Padikkal JO Holder 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Sunrisers Hyderabad
192892 1237178 1 0 4 V Kohli D Padikkal Sandeep Sharma 2 0 2 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Sunrisers Hyderabad

346 rows × 18 columns

In [66]:
df_kohli[df_kohli['batsman_runs'] == 6]
Out[66]:
id inning over ball batsman non_striker bowler batsman_runs extra_runs total_runs non_boundary is_wicket dismissal_kind player_dismissed fielder extras_type batting_team bowling_team
926 335985 2 11 5 V Kohli JH Kallis ST Jayasuriya 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Mumbai Indians
2507 335992 1 8 4 V Kohli MV Boucher SK Trivedi 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Rajasthan Royals
11937 336034 1 8 4 V Kohli W Jaffer SB Bangar 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Deccan Chargers
11958 336034 1 12 1 V Kohli JH Kallis PP Ojha 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Deccan Chargers
14408 392185 2 10 5 V Kohli R Dravid Joginder Sharma 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
187042 1216525 1 14 1 V Kohli Washington Sundar SM Curran 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
187150 1216525 1 18 1 V Kohli S Dube SN Thakur 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
187168 1216525 1 17 4 V Kohli S Dube SM Curran 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
187171 1216525 1 17 7 V Kohli S Dube SM Curran 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings
191538 1216544 1 16 3 V Kohli AB de Villiers RA Jadeja 6 0 6 0 0 NaN NaN NaN NaN Royal Challengers Bangalore Chennai Super Kings

202 rows × 18 columns

In [68]:
len(df_kohli[df_kohli['batsman_runs'] == 6])*6
Out[68]:
1212
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [69]:
import plotly.express as px
import plotly.graph_objs as go
from plotly.offline import init_notebook_mode, plot, iplot
In [70]:
values = [1919 , 692 , 39 , 2016 , 1212]
labels = [1, 2, 3 ,4, 6]

trace = go.Pie(labels= labels , values= values , hole=0.3)

data = [trace]

fig = go.Figure(data = data)
In [71]:
fig.show()
In [ ]:
 
In [ ]:
 
In [72]:
#Toss decision across seasons
In [74]:
match_data.columns
Out[74]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2'],
      dtype='object')
In [75]:
match_data['Season'] = pd.to_datetime(match_data['date']).dt.year  ## extract season from "date" feature
In [76]:
match_data['Season'] = pd.to_datetime(match_data['date']).dt.year
In [77]:
match_data.columns
Out[77]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2',
       'Season'],
      dtype='object')
In [78]:
match_data.groupby(['Season' , 'toss_decision']).size()
Out[78]:
Season  toss_decision
2008    bat              26
        field            32
2009    bat              35
        field            22
2010    bat              39
        field            21
2011    bat              25
        field            48
2012    bat              37
        field            37
2013    bat              45
        field            31
2014    bat              19
        field            41
2015    bat              25
        field            34
2016    bat              11
        field            49
2017    bat              11
        field            48
2018    bat              10
        field            50
2019    bat              10
        field            50
2020    bat              27
        field            33
dtype: int64
In [79]:
type(match_data.groupby(['Season' , 'toss_decision']).size())
Out[79]:
pandas.core.series.Series
In [86]:
match_data.groupby(['Season' , 'toss_decision']).size().reset_index()
Out[86]:
Season toss_decision 0
0 2008 bat 26
1 2008 field 32
2 2009 bat 35
3 2009 field 22
4 2010 bat 39
5 2010 field 21
6 2011 bat 25
7 2011 field 48
8 2012 bat 37
9 2012 field 37
10 2013 bat 45
11 2013 field 31
12 2014 bat 19
13 2014 field 41
14 2015 bat 25
15 2015 field 34
16 2016 bat 11
17 2016 field 49
18 2017 bat 11
19 2017 field 48
20 2018 bat 10
21 2018 field 50
22 2019 bat 10
23 2019 field 50
24 2020 bat 27
25 2020 field 33
In [82]:
season_toss_count_df = match_data.groupby(['Season' , 'toss_decision']).size().reset_index()
In [83]:
season_toss_count_df = match_data.groupby(['Season' , 'toss_decision']).size().reset_index().rename(columns={0:'count'})
In [84]:
season_toss_count_df
Out[84]:
Season toss_decision count
0 2008 bat 26
1 2008 field 32
2 2009 bat 35
3 2009 field 22
4 2010 bat 39
5 2010 field 21
6 2011 bat 25
7 2011 field 48
8 2012 bat 37
9 2012 field 37
10 2013 bat 45
11 2013 field 31
12 2014 bat 19
13 2014 field 41
14 2015 bat 25
15 2015 field 34
16 2016 bat 11
17 2016 field 49
18 2017 bat 11
19 2017 field 48
20 2018 bat 10
21 2018 field 50
22 2019 bat 10
23 2019 field 50
24 2020 bat 27
25 2020 field 33
In [ ]:
 
In [89]:
plt.figure(figsize=(7,4))
sns.barplot(x='Season' , y='count' , hue = 'toss_decision' , data = season_toss_count_df)

## plotting barplot of "Season" vs "count" for bat & field both ..
plt.show()
In [ ]:
 
In [ ]:
 
In [91]:
match_data.columns
Out[91]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2',
       'Season'],
      dtype='object')
In [92]:
match_data.head()
Out[92]:
id city date player_of_match venue neutral_venue team1 team2 toss_winner toss_decision winner result result_margin eliminator method umpire1 umpire2 Season
0 335982 Bangalore 2008-04-18 BB McCullum M Chinnaswamy Stadium 0 Royal Challengers Bangalore Kolkata Knight Riders Royal Challengers Bangalore field Kolkata Knight Riders runs 140.0 N NaN Asad Rauf RE Koertzen 2008
1 335983 Chandigarh 2008-04-19 MEK Hussey Punjab Cricket Association Stadium, Mohali 0 Kings XI Punjab Chennai Super Kings Chennai Super Kings bat Chennai Super Kings runs 33.0 N NaN MR Benson SL Shastri 2008
2 335984 Delhi 2008-04-19 MF Maharoof Feroz Shah Kotla 0 Delhi Daredevils Rajasthan Royals Rajasthan Royals bat Delhi Daredevils wickets 9.0 N NaN Aleem Dar GA Pratapkumar 2008
3 335985 Mumbai 2008-04-20 MV Boucher Wankhede Stadium 0 Mumbai Indians Royal Challengers Bangalore Mumbai Indians bat Royal Challengers Bangalore wickets 5.0 N NaN SJ Davis DJ Harper 2008
4 335986 Kolkata 2008-04-20 DJ Hussey Eden Gardens 0 Kolkata Knight Riders Deccan Chargers Deccan Chargers bat Kolkata Knight Riders wickets 5.0 N NaN BF Bowden K Hariharan 2008
In [96]:
match_data[['team1','team2','toss_winner','winner']].rename(columns={'winner':'Chicken_dinner'})
Out[96]:
team1 team2 toss_winner Chicken_dinner
0 Royal Challengers Bangalore Kolkata Knight Riders Royal Challengers Bangalore Kolkata Knight Riders
1 Kings XI Punjab Chennai Super Kings Chennai Super Kings Chennai Super Kings
2 Delhi Daredevils Rajasthan Royals Rajasthan Royals Delhi Daredevils
3 Mumbai Indians Royal Challengers Bangalore Mumbai Indians Royal Challengers Bangalore
4 Kolkata Knight Riders Deccan Chargers Deccan Chargers Kolkata Knight Riders
... ... ... ... ...
811 Royal Challengers Bangalore Mumbai Indians Mumbai Indians Royal Challengers Bangalore
812 Mumbai Indians Delhi Capitals Delhi Capitals Mumbai Indians
813 Royal Challengers Bangalore Sunrisers Hyderabad Sunrisers Hyderabad Sunrisers Hyderabad
814 Delhi Capitals Sunrisers Hyderabad Delhi Capitals Delhi Capitals
815 Delhi Capitals Mumbai Indians Delhi Capitals Mumbai Indians

816 rows × 4 columns

In [97]:
match_data[['team1','team2','toss_winner','winner']]
Out[97]:
team1 team2 toss_winner winner
0 Royal Challengers Bangalore Kolkata Knight Riders Royal Challengers Bangalore Kolkata Knight Riders
1 Kings XI Punjab Chennai Super Kings Chennai Super Kings Chennai Super Kings
2 Delhi Daredevils Rajasthan Royals Rajasthan Royals Delhi Daredevils
3 Mumbai Indians Royal Challengers Bangalore Mumbai Indians Royal Challengers Bangalore
4 Kolkata Knight Riders Deccan Chargers Deccan Chargers Kolkata Knight Riders
... ... ... ... ...
811 Royal Challengers Bangalore Mumbai Indians Mumbai Indians Royal Challengers Bangalore
812 Mumbai Indians Delhi Capitals Delhi Capitals Mumbai Indians
813 Royal Challengers Bangalore Sunrisers Hyderabad Sunrisers Hyderabad Sunrisers Hyderabad
814 Delhi Capitals Sunrisers Hyderabad Delhi Capitals Delhi Capitals
815 Delhi Capitals Mumbai Indians Delhi Capitals Mumbai Indians

816 rows × 4 columns

In [103]:
## if "toss_winner" equals to "match_winner" , then assign "Yes" else assign "No"

match_data['toss_win_game_win'] = np.where(match_data['toss_winner'] == match_data['winner'], 'Yes', 'No')
In [104]:
match_data.columns
Out[104]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2', 'Season',
       'toss_win_game_win'],
      dtype='object')
In [106]:
match_data['toss_win_game_win'].unique()
Out[106]:
array(['No', 'Yes'], dtype=object)
In [108]:
match_data['toss_win_game_win'].value_counts()
Out[108]:
Yes    418
No     398
Name: toss_win_game_win, dtype: int64
In [113]:
match_data['toss_win_game_win'].value_counts().index
Out[113]:
Index(['Yes', 'No'], dtype='object')
In [115]:
match_data['toss_win_game_win'].value_counts().values
Out[115]:
array([418, 398])
In [127]:
labels = match_data['toss_win_game_win'].value_counts().index
values = match_data['toss_win_game_win'].value_counts().values

trace = go.Pie(labels= labels , values= values , hole=0.4)

data = [trace]

fig = go.Figure(data = data)

fig.update_traces(hoverinfo='label+percent' , textinfo='label+percent')
In [ ]:
 
In [128]:
#how many times team have won the tournament
In [129]:
match_data.columns
Out[129]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2', 'Season',
       'toss_win_game_win'],
      dtype='object')
In [130]:
match_data['Season'].unique()
Out[130]:
array([2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018,
       2019, 2020])
In [137]:
df_2018 = match_data[match_data['Season']==2018]
In [138]:
df_2018
Out[138]:
id city date player_of_match venue neutral_venue team1 team2 toss_winner toss_decision winner result result_margin eliminator method umpire1 umpire2 Season toss_win_game_win
636 1136561 Mumbai 2018-04-07 DJ Bravo Wankhede Stadium 0 Mumbai Indians Chennai Super Kings Chennai Super Kings field Chennai Super Kings wickets 1.0 N NaN CB Gaffaney A Nand Kishore 2018 Yes
637 1136562 Chandigarh 2018-04-08 KL Rahul Punjab Cricket Association IS Bindra Stadium, ... 0 Kings XI Punjab Delhi Daredevils Kings XI Punjab field Kings XI Punjab wickets 6.0 N NaN KN Ananthapadmanabhan RJ Tucker 2018 Yes
638 1136563 Kolkata 2018-04-08 SP Narine Eden Gardens 0 Kolkata Knight Riders Royal Challengers Bangalore Kolkata Knight Riders field Kolkata Knight Riders wickets 4.0 N NaN C Shamshuddin A Deshmukh 2018 Yes
639 1136564 Hyderabad 2018-04-09 S Dhawan Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Rajasthan Royals Sunrisers Hyderabad field Sunrisers Hyderabad wickets 9.0 N NaN VA Kulkarni NJ Llong 2018 Yes
640 1136565 Chennai 2018-04-10 SW Billings MA Chidambaram Stadium, Chepauk 0 Chennai Super Kings Kolkata Knight Riders Chennai Super Kings field Chennai Super Kings wickets 5.0 N NaN CB Gaffaney AK Chaudhary 2018 Yes
641 1136566 Jaipur 2018-04-11 SV Samson Sawai Mansingh Stadium 0 Rajasthan Royals Delhi Daredevils Delhi Daredevils field Rajasthan Royals runs 10.0 N D/L KN Ananthapadmanabhan Nitin Menon 2018 No
642 1136567 Hyderabad 2018-04-12 Rashid Khan Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Mumbai Indians Sunrisers Hyderabad field Sunrisers Hyderabad wickets 1.0 N NaN NJ Llong CK Nandan 2018 Yes
643 1136568 Bengaluru 2018-04-13 UT Yadav M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Kings XI Punjab Royal Challengers Bangalore field Royal Challengers Bangalore wickets 4.0 N NaN A Deshmukh S Ravi 2018 Yes
644 1136569 Mumbai 2018-04-14 JJ Roy Wankhede Stadium 0 Mumbai Indians Delhi Daredevils Delhi Daredevils field Delhi Daredevils wickets 7.0 N NaN KN Ananthapadmanabhan Nitin Menon 2018 Yes
645 1136570 Kolkata 2018-04-14 B Stanlake Eden Gardens 0 Kolkata Knight Riders Sunrisers Hyderabad Sunrisers Hyderabad field Sunrisers Hyderabad wickets 5.0 N NaN AK Chaudhary A Nand Kishore 2018 Yes
646 1136571 Bengaluru 2018-04-15 SV Samson M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Rajasthan Royals Royal Challengers Bangalore field Rajasthan Royals runs 19.0 N NaN C Shamshuddin S Ravi 2018 No
647 1136572 Chandigarh 2018-04-15 CH Gayle Punjab Cricket Association IS Bindra Stadium, ... 0 Kings XI Punjab Chennai Super Kings Chennai Super Kings field Kings XI Punjab runs 4.0 N NaN VA Kulkarni CK Nandan 2018 No
648 1136573 Kolkata 2018-04-16 N Rana Eden Gardens 0 Kolkata Knight Riders Delhi Daredevils Delhi Daredevils field Kolkata Knight Riders runs 71.0 N NaN AK Chaudhary A Nand Kishore 2018 No
649 1136574 Mumbai 2018-04-17 RG Sharma Wankhede Stadium 0 Mumbai Indians Royal Challengers Bangalore Royal Challengers Bangalore field Mumbai Indians runs 46.0 N NaN RJ Tucker Nitin Menon 2018 No
650 1136575 Jaipur 2018-04-18 N Rana Sawai Mansingh Stadium 0 Rajasthan Royals Kolkata Knight Riders Kolkata Knight Riders field Kolkata Knight Riders wickets 7.0 N NaN A Deshmukh S Ravi 2018 Yes
651 1136576 Chandigarh 2018-04-19 CH Gayle Punjab Cricket Association IS Bindra Stadium, ... 0 Kings XI Punjab Sunrisers Hyderabad Kings XI Punjab bat Kings XI Punjab runs 15.0 N NaN NJ Llong AK Chaudhary 2018 Yes
652 1136577 Pune 2018-04-20 SR Watson Maharashtra Cricket Association Stadium 0 Chennai Super Kings Rajasthan Royals Rajasthan Royals field Chennai Super Kings runs 64.0 N NaN KN Ananthapadmanabhan Nitin Menon 2018 No
653 1136578 Kolkata 2018-04-21 KL Rahul Eden Gardens 0 Kolkata Knight Riders Kings XI Punjab Kings XI Punjab field Kings XI Punjab wickets 9.0 N D/L C Shamshuddin A Deshmukh 2018 Yes
654 1136579 Bengaluru 2018-04-21 AB de Villiers M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Delhi Daredevils Royal Challengers Bangalore field Royal Challengers Bangalore wickets 6.0 N NaN CB Gaffaney CK Nandan 2018 Yes
655 1136580 Hyderabad 2018-04-22 AT Rayudu Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Chennai Super Kings Sunrisers Hyderabad field Chennai Super Kings runs 4.0 N NaN VA Kulkarni AK Chaudhary 2018 No
656 1136581 Jaipur 2018-04-22 JC Archer Sawai Mansingh Stadium 0 Rajasthan Royals Mumbai Indians Mumbai Indians bat Rajasthan Royals wickets 3.0 N NaN KN Ananthapadmanabhan RJ Tucker 2018 No
657 1136582 Delhi 2018-04-23 AS Rajpoot Feroz Shah Kotla 0 Delhi Daredevils Kings XI Punjab Delhi Daredevils field Kings XI Punjab runs 4.0 N NaN A Nand Kishore CK Nandan 2018 No
658 1136583 Mumbai 2018-04-24 Rashid Khan Wankhede Stadium 0 Mumbai Indians Sunrisers Hyderabad Mumbai Indians field Sunrisers Hyderabad runs 31.0 N NaN C Shamshuddin S Ravi 2018 No
659 1136584 Bengaluru 2018-04-25 MS Dhoni M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Chennai Super Kings Chennai Super Kings field Chennai Super Kings wickets 5.0 N NaN NJ Llong VK Sharma 2018 Yes
660 1136585 Hyderabad 2018-04-26 AS Rajpoot Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Kings XI Punjab Kings XI Punjab field Sunrisers Hyderabad runs 13.0 N NaN YC Barde CK Nandan 2018 No
661 1136586 Delhi 2018-04-27 SS Iyer Feroz Shah Kotla 0 Delhi Daredevils Kolkata Knight Riders Kolkata Knight Riders field Delhi Daredevils runs 55.0 N NaN C Shamshuddin S Ravi 2018 No
662 1136587 Pune 2018-04-28 RG Sharma Maharashtra Cricket Association Stadium 0 Chennai Super Kings Mumbai Indians Mumbai Indians field Mumbai Indians wickets 8.0 N NaN CB Gaffaney Nitin Menon 2018 Yes
663 1136588 Jaipur 2018-04-29 KS Williamson Sawai Mansingh Stadium 0 Rajasthan Royals Sunrisers Hyderabad Sunrisers Hyderabad bat Sunrisers Hyderabad runs 11.0 N NaN BNJ Oxenford A Nand Kishore 2018 Yes
664 1136589 Bengaluru 2018-04-29 CA Lynn M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Kolkata Knight Riders Kolkata Knight Riders field Kolkata Knight Riders wickets 6.0 N NaN NJ Llong AK Chaudhary 2018 Yes
665 1136590 Pune 2018-04-30 SR Watson Maharashtra Cricket Association Stadium 0 Chennai Super Kings Delhi Daredevils Delhi Daredevils field Chennai Super Kings runs 13.0 N NaN AY Dandekar C Shamshuddin 2018 No
666 1136591 Bengaluru 2018-05-01 TG Southee M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Mumbai Indians Mumbai Indians field Royal Challengers Bangalore runs 14.0 N NaN M Erasmus Nitin Menon 2018 No
667 1136592 Delhi 2018-05-02 RR Pant Feroz Shah Kotla 0 Delhi Daredevils Rajasthan Royals Rajasthan Royals field Delhi Daredevils runs 4.0 N D/L VK Sharma CK Nandan 2018 No
668 1136593 Kolkata 2018-05-03 SP Narine Eden Gardens 0 Kolkata Knight Riders Chennai Super Kings Kolkata Knight Riders field Kolkata Knight Riders wickets 6.0 N NaN HDPK Dharmasena A Deshmukh 2018 Yes
669 1136594 Indore 2018-05-04 SA Yadav Holkar Cricket Stadium 0 Kings XI Punjab Mumbai Indians Mumbai Indians field Mumbai Indians wickets 6.0 N NaN AY Dandekar S Ravi 2018 Yes
670 1136595 Pune 2018-05-05 RA Jadeja Maharashtra Cricket Association Stadium 0 Chennai Super Kings Royal Challengers Bangalore Chennai Super Kings field Chennai Super Kings wickets 6.0 N NaN Nitin Menon YC Barde 2018 Yes
671 1136596 Hyderabad 2018-05-05 Rashid Khan Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Delhi Daredevils Delhi Daredevils bat Sunrisers Hyderabad wickets 7.0 N NaN BNJ Oxenford CK Nandan 2018 No
672 1136597 Mumbai 2018-05-06 HH Pandya Wankhede Stadium 0 Mumbai Indians Kolkata Knight Riders Kolkata Knight Riders field Mumbai Indians runs 13.0 N NaN HDPK Dharmasena A Deshmukh 2018 No
673 1136598 Indore 2018-05-06 Mujeeb Ur Rahman Holkar Cricket Stadium 0 Kings XI Punjab Rajasthan Royals Kings XI Punjab field Kings XI Punjab wickets 6.0 N NaN C Shamshuddin S Ravi 2018 Yes
674 1136599 Hyderabad 2018-05-07 KS Williamson Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Royal Challengers Bangalore Royal Challengers Bangalore field Sunrisers Hyderabad runs 5.0 N NaN BNJ Oxenford VK Sharma 2018 No
675 1136600 Jaipur 2018-05-08 JC Buttler Sawai Mansingh Stadium 0 Rajasthan Royals Kings XI Punjab Rajasthan Royals bat Rajasthan Royals runs 15.0 N NaN M Erasmus Nitin Menon 2018 Yes
676 1136601 Kolkata 2018-05-09 Ishan Kishan Eden Gardens 0 Kolkata Knight Riders Mumbai Indians Kolkata Knight Riders field Mumbai Indians runs 102.0 N NaN KN Ananthapadmanabhan AK Chaudhary 2018 No
677 1136602 Delhi 2018-05-10 S Dhawan Feroz Shah Kotla 0 Delhi Daredevils Sunrisers Hyderabad Delhi Daredevils bat Sunrisers Hyderabad wickets 9.0 N NaN AY Dandekar C Shamshuddin 2018 No
678 1136603 Jaipur 2018-05-11 JC Buttler Sawai Mansingh Stadium 0 Rajasthan Royals Chennai Super Kings Chennai Super Kings bat Rajasthan Royals wickets 4.0 N NaN M Erasmus YC Barde 2018 No
679 1136604 Indore 2018-05-12 SP Narine Holkar Cricket Stadium 0 Kings XI Punjab Kolkata Knight Riders Kings XI Punjab field Kolkata Knight Riders runs 31.0 N NaN VK Sharma CK Nandan 2018 No
680 1136605 Delhi 2018-05-12 AB de Villiers Feroz Shah Kotla 0 Delhi Daredevils Royal Challengers Bangalore Royal Challengers Bangalore field Royal Challengers Bangalore wickets 5.0 N NaN KN Ananthapadmanabhan HDPK Dharmasena 2018 Yes
681 1136606 Pune 2018-05-13 AT Rayudu Maharashtra Cricket Association Stadium 0 Chennai Super Kings Sunrisers Hyderabad Chennai Super Kings field Chennai Super Kings wickets 8.0 N NaN M Erasmus YC Barde 2018 Yes
682 1136607 Mumbai 2018-05-13 JC Buttler Wankhede Stadium 0 Mumbai Indians Rajasthan Royals Rajasthan Royals field Rajasthan Royals wickets 7.0 N NaN Nitin Menon S Ravi 2018 Yes
683 1136608 Indore 2018-05-14 UT Yadav Holkar Cricket Stadium 0 Kings XI Punjab Royal Challengers Bangalore Royal Challengers Bangalore field Royal Challengers Bangalore wickets 10.0 N NaN BNJ Oxenford VK Sharma 2018 Yes
684 1136609 Kolkata 2018-05-15 Kuldeep Yadav Eden Gardens 0 Kolkata Knight Riders Rajasthan Royals Kolkata Knight Riders field Kolkata Knight Riders wickets 6.0 N NaN HDPK Dharmasena AK Chaudhary 2018 Yes
685 1136610 Mumbai 2018-05-16 JJ Bumrah Wankhede Stadium 0 Mumbai Indians Kings XI Punjab Kings XI Punjab field Mumbai Indians runs 3.0 N NaN M Erasmus Nitin Menon 2018 No
686 1136611 Bengaluru 2018-05-17 AB de Villiers M.Chinnaswamy Stadium 0 Royal Challengers Bangalore Sunrisers Hyderabad Sunrisers Hyderabad field Royal Challengers Bangalore runs 14.0 N NaN AY Dandekar S Ravi 2018 No
687 1136612 Delhi 2018-05-18 HV Patel Feroz Shah Kotla 0 Delhi Daredevils Chennai Super Kings Chennai Super Kings field Delhi Daredevils runs 34.0 N NaN VA Kulkarni HDPK Dharmasena 2018 No
688 1136613 Jaipur 2018-05-19 S Gopal Sawai Mansingh Stadium 0 Rajasthan Royals Royal Challengers Bangalore Rajasthan Royals bat Rajasthan Royals runs 30.0 N NaN BNJ Oxenford VK Sharma 2018 Yes
689 1136614 Hyderabad 2018-05-19 CA Lynn Rajiv Gandhi International Stadium, Uppal 0 Sunrisers Hyderabad Kolkata Knight Riders Sunrisers Hyderabad bat Kolkata Knight Riders wickets 5.0 N NaN AK Chaudhary S Ravi 2018 No
690 1136615 Delhi 2018-05-20 A Mishra Feroz Shah Kotla 0 Delhi Daredevils Mumbai Indians Delhi Daredevils bat Delhi Daredevils runs 11.0 N NaN HDPK Dharmasena CK Nandan 2018 Yes
691 1136616 Pune 2018-05-20 L Ngidi Maharashtra Cricket Association Stadium 0 Chennai Super Kings Kings XI Punjab Chennai Super Kings field Chennai Super Kings wickets 5.0 N NaN Nitin Menon YC Barde 2018 Yes
692 1136617 Mumbai 2018-05-22 F du Plessis Wankhede Stadium 0 Sunrisers Hyderabad Chennai Super Kings Chennai Super Kings field Chennai Super Kings wickets 2.0 N NaN C Shamshuddin M Erasmus 2018 Yes
693 1136618 Kolkata 2018-05-23 AD Russell Eden Gardens 0 Kolkata Knight Riders Rajasthan Royals Rajasthan Royals field Kolkata Knight Riders runs 25.0 N NaN AK Chaudhary Nitin Menon 2018 No
694 1136619 Kolkata 2018-05-25 Rashid Khan Eden Gardens 0 Kolkata Knight Riders Sunrisers Hyderabad Kolkata Knight Riders field Sunrisers Hyderabad runs 14.0 N NaN HDPK Dharmasena Nitin Menon 2018 No
695 1136620 Mumbai 2018-05-27 SR Watson Wankhede Stadium 0 Chennai Super Kings Sunrisers Hyderabad Chennai Super Kings field Chennai Super Kings wickets 8.0 N NaN M Erasmus S Ravi 2018 Yes
In [142]:
df_2018['winner'].tail(1).values[0]
Out[142]:
'Chennai Super Kings'
In [143]:
# winner of every season
In [144]:
winners_team = {}
for year in sorted(match_data['Season'].unique()):
    current_year_df = match_data[match_data['Season']==year]
    winners_team[year] = current_year_df['winner'].tail(1).values[0]
In [145]:
winners_team
Out[145]:
{2008: 'Rajasthan Royals',
 2009: 'Deccan Chargers',
 2010: 'Chennai Super Kings',
 2011: 'Chennai Super Kings',
 2012: 'Kolkata Knight Riders',
 2013: 'Mumbai Indians',
 2014: 'Kolkata Knight Riders',
 2015: 'Mumbai Indians',
 2016: 'Sunrisers Hyderabad',
 2017: 'Mumbai Indians',
 2018: 'Chennai Super Kings',
 2019: 'Mumbai Indians',
 2020: 'Mumbai Indians'}
In [148]:
winners_team.values()
Out[148]:
dict_values(['Rajasthan Royals', 'Deccan Chargers', 'Chennai Super Kings', 'Chennai Super Kings', 'Kolkata Knight Riders', 'Mumbai Indians', 'Kolkata Knight Riders', 'Mumbai Indians', 'Sunrisers Hyderabad', 'Mumbai Indians', 'Chennai Super Kings', 'Mumbai Indians', 'Mumbai Indians'])
In [ ]:
 
In [161]:
from collections import Counter
In [165]:
Counter(winners_team.values())
Out[165]:
Counter({'Rajasthan Royals': 1,
         'Delhi Daredevils': 1,
         'Kolkata Knight Riders': 1,
         'Mumbai Indians': 5,
         'Sunrisers Hyderabad': 1,
         'Royal Challengers Bangalore': 3,
         'Chennai Super Kings': 1})
In [166]:
match_data.columns
Out[166]:
Index(['id', 'city', 'date', 'player_of_match', 'venue', 'neutral_venue',
       'team1', 'team2', 'toss_winner', 'toss_decision', 'winner', 'result',
       'result_margin', 'eliminator', 'method', 'umpire1', 'umpire2', 'Season',
       'toss_win_game_win'],
      dtype='object')
In [167]:
match_data.head()
Out[167]:
id city date player_of_match venue neutral_venue team1 team2 toss_winner toss_decision winner result result_margin eliminator method umpire1 umpire2 Season toss_win_game_win
0 335982 Bangalore 2008-04-18 BB McCullum M Chinnaswamy Stadium 0 Royal Challengers Bangalore Kolkata Knight Riders Royal Challengers Bangalore field Kolkata Knight Riders runs 140.0 N NaN Asad Rauf RE Koertzen 2008 No
1 335983 Chandigarh 2008-04-19 MEK Hussey Punjab Cricket Association Stadium, Mohali 0 Kings XI Punjab Chennai Super Kings Chennai Super Kings bat Chennai Super Kings runs 33.0 N NaN MR Benson SL Shastri 2008 Yes
2 335984 Delhi 2008-04-19 MF Maharoof Feroz Shah Kotla 0 Delhi Daredevils Rajasthan Royals Rajasthan Royals bat Delhi Daredevils wickets 9.0 N NaN Aleem Dar GA Pratapkumar 2008 No
3 335985 Mumbai 2008-04-20 MV Boucher Wankhede Stadium 0 Mumbai Indians Royal Challengers Bangalore Mumbai Indians bat Royal Challengers Bangalore wickets 5.0 N NaN SJ Davis DJ Harper 2008 No
4 335986 Kolkata 2008-04-20 DJ Hussey Eden Gardens 0 Kolkata Knight Riders Deccan Chargers Deccan Chargers bat Kolkata Knight Riders wickets 5.0 N NaN BF Bowden K Hariharan 2008 No
In [168]:
# most number of wins
In [169]:
match_data[['team1','team2']]
Out[169]:
team1 team2
0 Royal Challengers Bangalore Kolkata Knight Riders
1 Kings XI Punjab Chennai Super Kings
2 Delhi Daredevils Rajasthan Royals
3 Mumbai Indians Royal Challengers Bangalore
4 Kolkata Knight Riders Deccan Chargers
... ... ...
811 Royal Challengers Bangalore Mumbai Indians
812 Mumbai Indians Delhi Capitals
813 Royal Challengers Bangalore Sunrisers Hyderabad
814 Delhi Capitals Sunrisers Hyderabad
815 Delhi Capitals Mumbai Indians

816 rows × 2 columns

In [170]:
match_data['team1'].value_counts()
Out[170]:
Royal Challengers Bangalore    108
Mumbai Indians                  97
Kolkata Knight Riders           95
Chennai Super Kings             94
Kings XI Punjab                 92
Delhi Daredevils                83
Rajasthan Royals                70
Sunrisers Hyderabad             59
Deccan Chargers                 39
Pune Warriors                   23
Delhi Capitals                  19
Gujarat Lions                   16
Kochi Tuskers Kerala             7
Rising Pune Supergiants          7
Rising Pune Supergiant           7
Name: team1, dtype: int64
In [171]:
match_data['team2'].value_counts()
Out[171]:
Mumbai Indians                 106
Kings XI Punjab                 98
Kolkata Knight Riders           97
Rajasthan Royals                91
Royal Challengers Bangalore     87
Chennai Super Kings             84
Delhi Daredevils                78
Sunrisers Hyderabad             65
Deccan Chargers                 36
Pune Warriors                   23
Gujarat Lions                   14
Delhi Capitals                  14
Rising Pune Supergiant           9
Kochi Tuskers Kerala             7
Rising Pune Supergiants          7
Name: team2, dtype: int64
In [172]:
match_data['team1'].value_counts() + match_data['team2'].value_counts()
Out[172]:
Chennai Super Kings            178
Deccan Chargers                 75
Delhi Capitals                  33
Delhi Daredevils               161
Gujarat Lions                   30
Kings XI Punjab                190
Kochi Tuskers Kerala            14
Kolkata Knight Riders          192
Mumbai Indians                 203
Pune Warriors                   46
Rajasthan Royals               161
Rising Pune Supergiant          16
Rising Pune Supergiants         14
Royal Challengers Bangalore    195
Sunrisers Hyderabad            124
dtype: int64
In [173]:
matches_played = match_data['team1'].value_counts() + match_data['team2'].value_counts()
In [174]:
matches_played
Out[174]:
Chennai Super Kings            178
Deccan Chargers                 75
Delhi Capitals                  33
Delhi Daredevils               161
Gujarat Lions                   30
Kings XI Punjab                190
Kochi Tuskers Kerala            14
Kolkata Knight Riders          192
Mumbai Indians                 203
Pune Warriors                   46
Rajasthan Royals               161
Rising Pune Supergiant          16
Rising Pune Supergiants         14
Royal Challengers Bangalore    195
Sunrisers Hyderabad            124
dtype: int64
In [175]:
type(matches_played)
Out[175]:
pandas.core.series.Series
In [179]:
matches_played.to_frame().reset_index()
Out[179]:
index 0
0 Chennai Super Kings 178
1 Deccan Chargers 75
2 Delhi Capitals 33
3 Delhi Daredevils 161
4 Gujarat Lions 30
5 Kings XI Punjab 190
6 Kochi Tuskers Kerala 14
7 Kolkata Knight Riders 192
8 Mumbai Indians 203
9 Pune Warriors 46
10 Rajasthan Royals 161
11 Rising Pune Supergiant 16
12 Rising Pune Supergiants 14
13 Royal Challengers Bangalore 195
14 Sunrisers Hyderabad 124
In [180]:
matches_played_df = matches_played.to_frame().reset_index()
In [184]:
matches_played_df.columns=['Team_name','Matches_played']
In [190]:
matches_played_df
Out[190]:
Team_name Matches_played
0 Chennai Super Kings 178
1 Deccan Chargers 75
2 Delhi Capitals 33
3 Delhi Daredevils 161
4 Gujarat Lions 30
5 Kings XI Punjab 190
6 Kochi Tuskers Kerala 14
7 Kolkata Knight Riders 192
8 Mumbai Indians 203
9 Pune Warriors 46
10 Rajasthan Royals 161
11 Rising Pune Supergiant 16
12 Rising Pune Supergiants 14
13 Royal Challengers Bangalore 195
14 Sunrisers Hyderabad 124
In [191]:
# which team wins more matches
In [194]:
pd.DataFrame(match_data['winner'].value_counts()).reset_index()
Out[194]:
index winner
0 Mumbai Indians 120
1 Chennai Super Kings 106
2 Kolkata Knight Riders 99
3 Royal Challengers Bangalore 91
4 Kings XI Punjab 88
5 Rajasthan Royals 81
6 Delhi Daredevils 67
7 Sunrisers Hyderabad 66
8 Deccan Chargers 29
9 Delhi Capitals 19
10 Gujarat Lions 13
11 Pune Warriors 12
12 Rising Pune Supergiant 10
13 Kochi Tuskers Kerala 6
14 Rising Pune Supergiants 5
In [195]:
wins = pd.DataFrame(match_data['winner'].value_counts()).reset_index()
In [196]:
wins.columns = ['Team_name','Wins']
In [197]:
wins
Out[197]:
Team_name Wins
0 Mumbai Indians 120
1 Chennai Super Kings 106
2 Kolkata Knight Riders 99
3 Royal Challengers Bangalore 91
4 Kings XI Punjab 88
5 Rajasthan Royals 81
6 Delhi Daredevils 67
7 Sunrisers Hyderabad 66
8 Deccan Chargers 29
9 Delhi Capitals 19
10 Gujarat Lions 13
11 Pune Warriors 12
12 Rising Pune Supergiant 10
13 Kochi Tuskers Kerala 6
14 Rising Pune Supergiants 5
In [201]:
played = matches_played_df.merge(wins, on='Team_name',how='inner')    #merged 2 tables 
In [202]:
played
Out[202]:
Team_name Matches_played Wins
0 Chennai Super Kings 178 106
1 Deccan Chargers 75 29
2 Delhi Capitals 33 19
3 Delhi Daredevils 161 67
4 Gujarat Lions 30 13
5 Kings XI Punjab 190 88
6 Kochi Tuskers Kerala 14 6
7 Kolkata Knight Riders 192 99
8 Mumbai Indians 203 120
9 Pune Warriors 46 12
10 Rajasthan Royals 161 81
11 Rising Pune Supergiant 16 10
12 Rising Pune Supergiants 14 5
13 Royal Challengers Bangalore 195 91
14 Sunrisers Hyderabad 124 66
In [ ]:
 
In [205]:
trace1 = go.Bar(
    x = played['Team_name'] , 
    y = played['Matches_played'] , 
    name = 'Total Matches'
)


trace2 = go.Bar(
    x = played['Team_name'] , 
    y = played['Wins'] , 
    name = 'Matches won'
)
In [206]:
data = [trace1 , trace2]
In [210]:
iplot(data)
In [ ]: